Data Management and Control-Flow Aspects of an SIMD/SPMD Parallel Language/Compiler
نویسندگان
چکیده
Features of an explicitly parallel programming language targeted for reconfigurable parallel processing systems, where the machine's -1processing elements (PE's) are capable of operating in both the SIMD and SPMD modes of parallelism, are described. The SPMD (Single Program-Multiple Data) mode of parallelism is a subset of the MIMD mode where all processors execute the same program. By providing all aspects of the language with an SIMD mode version and an SPMD mode version that are syntactically and semantically equivalent, the language facilitates experimentation with and exploitation of hybrid SlMDiSPMD machines. Language constructs (and their implementations) for data management, data-dependent control-flow, and PE-address dependent control-flow are presented. These constructs are based on experience gained from programming a parallel machine prototype, and are being incorporated into a compiler under development. Much of the research presented is applicable to general SIMD machines and MIMD machines. Zndex TermsCompilers, fault tolerance, languages, mixedmode parallelism, parallel processing, PASM, reconfigurable machines, SIMD, SPMD.
منابع مشابه
Identifying scalar behavior in CUDA kernels
We propose a compiler analysis pass for programs expressed in the Single Program, Multiple Data (SPMD) programming model. It identifies statically several kinds of regular patterns that can occur between adjacent threads, including common computations, memory accesses at consecutive locations or at the same location and uniform control flow. This knowledge can be exploited by SPMD compilers tar...
متن کاملDetermining the Execution Time Distribution for a Data Parallel Program in a Heterogeneous Computing Environment
An important problem in heterogeneous computing (HC) is predicting task execution time. A methodology is introduced for determining the execution time distribution for a given data parallel program that is to be executed in an SIMD, MIMD (SPMD), and/or mixed-mode SIMD/MIMD (SPMD) HC environment. The program is assumed to contain operations and constructs whose execution times depend on input-da...
متن کاملPlatform-independent modeling of explicitly parallel programs
We propose a model-driven approach to parallel programming of SPMD-style, explicitly parallel computations. We define an executable, platform-independent modeling language with explicitly parallel control and data flow for an abstract parallel computer with shared address space, and implement it as an extension of UML2 activity diagrams and a generator for Fork source code that can be compiled ...
متن کاملDynamic task migration from SIMD to SPMD virtual machines
A method to migrate a task dynamically from a virtual SPMD machine to a virtual SIMD machine is proposed. It is assumed that the SIMD and SPMD virtual machine models only differ to support the different modes of parallelism, and that the program was coded in a modeindependent programming language. The migration pro cedure does not require the SPMD PEs to be at the same location in the SPMD pro...
متن کاملAutomated Compilation of ISPC Programs to FPGA
Field Programmable Gate Arrays (FPGAs) are hardware devices that contain circuits that can be configured to implement the desired functionality. While they have traditionally been used for prototyping, there has been an increased interest in using these devices for computation. Part of the reason for this is that the computer architecture community is coming up against severe power restrictions...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IEEE Trans. Parallel Distrib. Syst.
دوره 4 شماره
صفحات -
تاریخ انتشار 1993